home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / audio / modulemanipulation / infmod12.lha / InfoMod / libs / compressors / SQSH.doc next >
Encoding:
Text File  |  1993-11-17  |  5.3 KB  |  111 lines

  1.  
  2.                                     SQSH
  3.      An LZ based cruncher with special algorithms for 8 bit sample data
  4.                                 Version 1.00
  5.                       Copyright 1993 by John Hendrikx
  6.  
  7.  
  8.  
  9.                              License/Disclaimer
  10.                              ------------------
  11.  
  12.    This  library  may  be  freely  distributed, as long as it is kept in its
  13. original,  complete,  and  unmodified  form.  It may not be distributed in a
  14. commercial package of any kind without my permission.
  15.  
  16.    This  program  is  distributed  in  the  hope that it will be useful, but
  17. WITHOUT  ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY
  18. or FITNESS FOR A PARTICULAR PURPOSE.
  19.  
  20.  
  21.                                 Installation
  22.                                 ------------
  23.  
  24.     You'll  need  to install the XPK package first to use this library.  The
  25. XPK  package  should  be available on most Bulletin Board Systems, so try to
  26. get it there.
  27.  
  28.     If  you already have the XPK package installed, then to add this library
  29. to  your  system  simply  copy the xpkSQSH.library to your LIBS:Compressors/
  30. dir.
  31.  
  32.  
  33.                                 Description
  34.                                 -----------
  35.  
  36.     SQSH  is an XPK packer sublibrary which implements an optimized LZ based
  37. algorithm combined with a 8 bit delta compression algorithm.
  38.  
  39.     This packer was especially made for packing 8 bit Samples and ProTracker
  40. style  modules.   It's  NOT  a lossy compression library, so NO quality-loss
  41. will occur when packing Samples with this library.
  42.  
  43.     This  library  is a 68020+ library, which means it will not run on stock
  44. A500,  A600,  A1000  or  A2000's.  If, say, more than 25 people respond with
  45. good  reasons  why  I should write a 68000 version then I will write a 68000
  46. version after all.
  47.  
  48.     SQSH  is  pretty fast at decompression (300K/s on A3000) so is very well
  49. suited  to  compress Modules and Samples since these will be packed once and
  50. unpacked  many  times.   It's  slow  at  compression (25K/s on A3000) mainly
  51. because  every  part  of  the  file  has to be checked twice to see what the
  52. better compression method would be:  Delta or LZ.
  53.  
  54.     In  order  to  achieve  reasonable  compression  of other types of files
  55. (Executables,  Textfiles,  etc.)  this  packer will scan a long range (about
  56. 20K) for identical byte sequences and if it finds any, it outputs offset and
  57. length  instead  of  the  bytes  themselves.  Scanning such a long range for
  58. duplicates  is  a CPU-intensive process.  I have tried to make it as fast as
  59. possible  (about  25K/s on A30000) but NUKE proves it can be done faster ;-)
  60. As  with  NUKE there's a drawback; The packer needs a large hashing table of
  61. about 98K to reach this speed.
  62.  
  63.  
  64.                                  Statistics
  65.                                  ----------
  66.  
  67.     As  I  don't own a A3000 and xBench, I cannot give results which you can
  68. compare  to the other XPK libraries.  But I can offer you some results I got
  69. on  my own machine (that is a A2000 with a 22Mhz 68030 GVP with 6 Mb of 60ns
  70. 32bit ram)
  71.  
  72.           Frequency     Original    SQSH = Squash          LhA
  73.         ------------------------------------------------------------
  74.         Sample 15 KHz     732984    418144 (43.0%)    510377 (30.4%)
  75.         Sample 20 KHz     979990    532512 (45.7%)    664365 (32.2%)
  76.         Sample 25 KHz    1219832    634488 (48.0%)    805746 (33.9%)
  77.         Sample 30 KHz    1465864    728656 (50.3%)    940955 (35.8%)
  78.         Sample 35 KHz    1710140    815652 (52.3%)   1066660 (37.6%)
  79.         Sample 40 KHz    1959924    898416 (54.2%)   1186449 (39.5%)
  80.         Sample 45 KHz    2208002    976340 (55.8%)   1294084 (41.4%)
  81.         Sample 50 KHz    2456810   1048384 (57.3%)   1389138 (43.5%)
  82.         Sample 55 KHz    2725502   1144420 (58.0%)   1506860 (44.7%)
  83.  
  84.  --------------------------------------------------------------------------
  85.                               |     ** SQUASH **     |      ** LHA **
  86.  FileName           Original  |    %    Pack  Unpack |    %    Pack  Unpack
  87.                   (in bytes)  |          K/s    K/s  |          K/s    K/s  
  88.  --------------------------------------------------------------------------
  89.  Intuition (AutoDoc)  283460  |  60.9%  18.7  369.1  |  66.7%  31.9  247.2
  90.  MUI.guide             80052  |  58.7%  22.9  312.7  |  65.0%  26.3  211.3
  91.  AmigaVision          594712  |  42.4%  22.1  276.6  |  48.7%  18.4  206.7
  92.  VirusChecker          42380  |  30.2%  26.0  197.1  |  38.0%  20.8  153.3
  93.  Mod.February symph   240420  |  27.8%  29.7  335.4  |  24.2%  25.0  166.5
  94.  Mod.Infinite finit   180950  |  41.6%  28.5  353.4  |  38.7%  20.7  182.2
  95.  Mod.Began in Africa  197038  |  41.5%  31.2  356.3  |  37.1%  21.6  194.3
  96.  Mod.Poing             94530  |  35.1%  15.7  329.7  |  33.8%  27.2  171.0
  97.  Mod.Resonance 2      188354  |  43.5%  29.2  375.4  |  35.9%  21.9  182.1
  98.  Mod.Tranze seven     215872  |  43.5%  28.5  351.4  |  36.3%  22.4  189.1
  99.  Sam.OnlyWithYou     1219832  |  48.0%  30.2  385.5  |  33.9%  29.4  180.2
  100.  --------------------------------------------------------------------------
  101.  
  102.  
  103.  
  104.                               Contact Address
  105.                               ---------------
  106.  
  107.    FIDO:   2:285/813.8           SNAIL:  John Hendrikx
  108.     AMY:  39:153/201.8                   Figarostraat 36
  109.     NLA:  14:101/200.8                   3208 PD   Spijkenisse
  110.                                          The Netherlands      
  111.